﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using TravelServer.Models;

namespace TravelServer.DTOs
{
    //源自微软购物车概念
    //分离价格，
    //表示商品购物车内一条商品信息。
    //建模思路：包含：商品信息，属于哪个购物车，价格，折扣
    //由于 item不需要和购物车进行查询关联，所以不需要配置购物车的导航属性
    //有可能 根据商品信息查询，需要配置外键，进行关联查询 TouristRoute端 不会去查询lineitem 所以不用配置
    public class LineItem
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }
        [ForeignKey("TouristRouteId")]
        public Guid TouristRouteId { get; set; }
        //导航属性
        public TouristRoute TouristRoute { get; set; }

        public Guid? ShoppingCartId { get; set; }


        //public Guid? OrderId { get; set; }
        [Column(TypeName = "decimal(18, 2)")]
        public decimal OriginalPrice { get; set; }
        [Range(0.0, 1.0)]
        public double? DiscountPresent { get; set; }
    }
}
